#pragma once

#include <maya\MPoint.h>
#include <maya\MVector.h>
#include <maya\MBoundingBox.h>

class Visualizer{
public:
  static void drawCube(double x, double y, double z, double width, double height, double depth);
	static void drawSpace(int voxelsPerDimetion, const MBoundingBox& bb);
	static void drawVoxel(int voxelsPerDimetion, const MBoundingBox& bb, int i, int j, int k);
	static void drawRay(const MPoint& origin, const MVector& direction);
	static void drawRay(const MPoint& origin, const MPoint& destination);
	static void selectVoxel(int i, int j, int k);
	void drawPoint(double x, double y, double z, const char* id);
  static void deselectAll();
private:
	static void drawRay(const MPoint& origin, const MVector& direction, double length);
};